package com.itheima.demo001;

import java.util.Random;

public class exercise41 {
    public static void main(String[] args) {
        /*
        定义方法，实现随机产生一个5位数的验证码
        验证码格式：1.长度为5
                   2.前四位，大写字母or小写字母
                   3.最后一位是数字
        */
        /*编程技巧：
        在以后，如果要在一堆无规律的数据中，随机抽取。
        可以先将这些数据，放在arr数组中，
        再随机抽取一个索引
        */

        //1.大写字母和小写字母都放在数组中
        //char[] chs1 = {'a','b','c','d','e','f'};//省略，麻烦
        char[] chs = new char[52];
        for (int i = 0; i < chs.length; i++) {
            //ASCII码表，强制转换
            //97 = a ， 65 = A
            if(i <= 25){
                //添加小写字母
                chs[i] = (char)(97 + i);
            }else{
                //添加大写字母
                chs[i] = (char)(65 + i - 26);
            }

        }
        //遍历
        for (int i = 0; i < chs.length; i++) {
            //System.out.print(chs[i] + " ");
        }

        String result = "";//长度为0，什么都没有的字符串
        //2.随机抽取4次，抽取数组中的索引
        Random r = new Random();
        //0~51索引
        for (int i = 0; i < 4; i++) {
            int randomIndex = r.nextInt(chs.length);
            //利用随即索引，获取对应的元素
            //System.out.println(chs[randomIndex]);
            result = result + chs[randomIndex];
        }
        //System.out.println(result);

        //3.随机抽取一个数字0~9
        int number = r.nextInt(10);

        //4.生成并且打印，最终结果
        result = result + number;
        System.out.println(result);
    }
}
